/* * Copyright (c) 2016 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com> * All Rights Reserved. */ package me.zhanghai.android.douya.ui; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.os.Parcelable; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.ScrollView; public class FlexibleSpaceContentScrollView extends ScrollView implements FlexibleSpaceContentView { public FlexibleSpaceContentScrollView(Context context) { super(context); } public FlexibleSpaceContentScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public FlexibleSpaceContentScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public FlexibleSpaceContentScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } @Override public int getScroll() { return getScrollY(); } @Override public void scrollTo(int scroll) { scrollTo(0, scroll); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return false; } @Override public boolean onTouchEvent(MotionEvent ev) { return false; } @Override protected Parcelable onSaveInstanceState() { // Do not save the current scroll position. Always store scrollY as 0 and delegate // responsibility of saving state to FlexibleSpaceLayout. int scrollY = getScrollY(); setScrollY(0); Parcelable savedState = super.onSaveInstanceState(); setScrollY(scrollY); return savedState; } }